// 根据运行环境选择合适的SDK
// 小程序环境使用tim-wx-sdk，H5环境使用tim-js-sdk
// #ifdef APP-PLUS || MP-WEIXIN
import TIM from 'tim-wx-sdk'; // 小程序/APP
// #endif

// #ifdef H5
import TIM from 'tim-js-sdk'; // H5环境
// #endif

// 获取SDKAppID
// 注意：这里应该使用你在腾讯云控制台申请的真实SDKAppID
const SDKAppID = 1600102039; // 请替换为你的真实SDKAppID

// 创建实例
const tim = TIM.create({
  SDKAppID: SDKAppID
});

// 注册腾讯云即时通信IM插件
// #ifdef H5
import TIMUploadPlugin from 'tim-upload-plugin';
tim.registerPlugin({'tim-upload-plugin': TIMUploadPlugin});
// #endif

// 设置日志级别，测试阶段可以设置为0，生产环境建议设置为1
// 0 - 普通级别，日志量较多，接入时建议使用
// 1 - release级别，SDK只输出关键信息，生产环境建议使用
tim.setLogLevel(process.env.NODE_ENV === 'development' ? 0 : 1);

// 监听SDK事件
tim.on(TIM.EVENT.SDK_READY, function(event) {
  console.log('TIM SDK已准备完毕，可以发送消息等');
});

tim.on(TIM.EVENT.MESSAGE_RECEIVED, function(event) {
  // 收到推送的单聊、群聊、群提示、群系统通知的新消息
  const messageList = event.data;
  console.log('收到新消息', messageList);
});

tim.on(TIM.EVENT.ERROR, function(event) {
  // 错误信息
  console.error('TIM ERROR:', event);
});

// 导出实例
export default tim;